This invention relates generally to processing within a computing environment, and more particularly to updating embedded applications concurrently without requiring a delay between shutting down the prior application and starting the updated version.
Advanced hardware devices typically contain embedded computer processors, memory, and other computing components. These devices execute instructions as software stored in embedded flash memory, for example. Through the development and debugging process the software stored in the embedded flash memory is enhanced with additional features and/or bug fixes. When a new version of the software is available, upgrading devices that are already deployed to production environments to the latest version is often desired. Typically, upgrading the embedded flash memory of the device necessitates stopping the currently running software instructions, copying the new software to the device's flash, and then restarting the execution of the software instructions. This process leaves the device unavailable to process requests while the device is being upgraded.